技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2019 iT 邦幫忙鐵人賽
DAY
19
0
AI & Data
Puppeteer 簡單快速建立自己的 Nodejs 爬蟲
系列 第
19
篇
Day 19 Puppeteer API 介紹 - class: ExecutionContext, JSHandle
2019鐵人賽
henry.w
2018-10-19 22:32:12
1844 瀏覽
分享至
class: ExecutionContext
這個是代表JavaScript execution的context,每個page都有很多個,
這可以透過frame.executionContext()獲得
executionContext.evaluate(pageFunction, ...args)
回傳promise 可以透過他執行一些function
executionContext.evaluateHandle(pageFunction, ...args)
會回傳一個jshandle的promise
executionContext.frame()
回傳父frame
executionContext.queryObjects(prototypeHandle)
可以拿到JShandle的實例
class: JSHandle
代表JavaScript的物件,可以透過 page.evaluateHandle 拿到
const windowHandle = await page.evaluateHandle(() => window);
jsHandle.asElement()
如果是 ElementHandle 物件,會回傳自己或null
jsHandle.dispose()
丟棄此物件
jsHandle.executionContext()
回傳他所屬的execution context
jsHandle.getProperties()
回傳 Map(string, JSHandle)可以透過他們拿到js物件
jsHandle.getProperty(propertyName)
回傳單個JSHandle
jsHandle.jsonValue()
回傳object所代表的JSON,如果沒辦法會丟錯誤
留言
追蹤
檢舉
上一篇
Day 18 Puppeteer API 介紹 - class: Frame, ConsoleMessage
下一篇
Day 20 Puppeteer API 介紹 - class: ElementHandle
系列文
Puppeteer 簡單快速建立自己的 Nodejs 爬蟲
共
25
篇
目錄
RSS系列文
訂閱系列文
27
人訂閱
21
Day 21 Puppeteer API 介紹 - class: SecurityDetails, Target, CDPSession, TimeoutError
22
Day 22 Puppeteer處理lazy load, SSR, 反爬蟲防禦, 高效地爬大量數據
23
Day 23 爬蟲範例-中央社(練習使用typescript)
24
Day 24 爬蟲範例-中央社-每個子項(類lazy load)
25
Day 25 爬蟲範例-中央社-繼續
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22195
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請問內網IP如何轉外網IP?
兩端防火牆使用IPSEC互PING之問題
如何寫公式才能利用excel 觸發一個數據時傳送一個訊息給 自已的line呢?有沒有可以用其它方式,來取代line notify 的方法,因為line 開始收費
Windows7升級Windows10後網路功能異常
python爬蟲 動態生成網頁104人力銀行
區域網路問題提問
新手學習編程,哪種編程語言好?
vmware 虛擬機(windows)裡顯示使用容量與實際檔案容量不符合
2台 Hyper-V 2008 R2 叢集主機(硬體規格相同), 如何加入一台新機? 謝謝.
OBS使用問題
熱門回答
請問內網IP如何轉外網IP?
防火牆與DNS請教
Fortigate 50B 重置密碼
新手學習編程,哪種編程語言好?
區域網路問題提問
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day32]
每日一篇學習筆記 直到我做完專題 :( [Day33]
每日一篇學習筆記 直到我做完專題 :( [Day34]
隨時切換 WINDOWS 右鍵新舊版選單
每日一篇學習筆記 直到我做完專題 :( [Day35]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}